import httpClient from '../utils/request'

/**
 * 获取用户权限列表（扁平化权限数组）
 * @returns 用户权限列表（扁平化）
 */
export function fetchUserPermissions() {
  return httpClient.get('/user/my-permissions')
}

/**
 * 获取按钮级权限
 * @param menuId 菜单ID
 * @returns 按钮权限列表
 */
export function fetchButtonPermissions(menuId: string | number) {
  return httpClient.get(`/permission/button/${menuId}`)
}

/**
 * 获取菜单树
 * @returns 菜单树
 */
export function fetchMenuTree() {
  return httpClient.get('/permission/menu/tree')
}

/**
 * 验证菜单路径
 * @param path 路径
 * @returns 验证结果
 */
export function validateMenuPath(path: string) {
  return httpClient.get(`/permission/menu/validate?path=${path}`)
}

/**
 * 获取角色权限
 * @param roleId 角色ID
 * @returns 角色权限列表
 */
export function fetchRolePermissions(roleId: string | number) {
  return httpClient.get(`/role/${roleId}/permissions`)
} 